mybatis-plus逻辑删除问题
mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml global-config: db-config: id-type: auto logic-delete-field: showStatus logic-delete-value: 0 logic-not-delete...
2024-02-23mybatis plus in方法使用说明
如果是List类型的String,例如:List<String>这种类型的,就直接放值就可以了,本文讲的是当你查询到的是一个list集合如何遍历取值,否则要写sql和接口就显得很麻烦。步骤如下://查询到list集合List<User> userList = userService.selectById(id);//结果集List<String> resultList = new ArrayList<>();//遍历集合取值 userList .fo...
2024-01-10mybatis plus自动更新数据问题?
@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override //插入时候处理 public void insertFill(MetaObject metaObject) { System.out.println("insertFill"); System.out...
2024-03-03Mybatis plus 配置多数据源
本文内容纲要:- 1、yml配置- 2、启动多个数据源- 3、DBType枚举类- 4、动态数据源决策- 5、设置、获取数据源- 6、AOP实现的数据源切换- 7、mapper层结构- 8、写一个service测试一下- 9、测试结果原文链接:https://www.cnblogs.com/puretuo/p/11365359.html记得面试时候,有面试官会问道,你们多数据源是怎...
2024-01-10mybatis-plus 返回部分字段的解决方式
mybatis-plus的代码生成器会在实体类中生成数据库所有字段,我们去用mapper接口查询时,会返回数据库所有的字段。但有些字段不是我们想要的,比如:deleted,所以我们可以在不需要的字段上面加@JsonIgnore注解,返回给前端的时候会自动把这个字段去除。补充知识:Mybatis-Plus只查询特定字段与创建子类...
2024-01-10解决mybatis plus 驼峰式命名规则问题
在我们使用mybatis plus 时, mybatis plus 可以帮我们自动封装我们的实体类用来查询添加,当我们遇见我们的尸体类名与我们的表字段是驼峰写法时: 我们在数据库的字段名也是 userCode但是如果我们不设置mybstis plus 默认的驼峰式编码在mybatis plus 则会默认把驼峰式编码写成 user_code, 这种下划线格式的字...
2024-01-10mybatis中resultMap 标签的使用教程
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。MyBatis特点:1.开源的优秀持久层框架 2.SQL语句与代码分离 3.面向配置的编程 4...
2024-01-10mybatis-plus 处理大数据插入太慢的解决
大批量数据插入方法是Mybatis的foreach拼接SQL我发现不管改成Mybatis Batch提交或者原生JDBC Batch的方法都不起作用,实际上在插入的时候仍然是一条条记录的插,速度远不如原来Mybatis的foreach拼接SQL的方法。// 第一步判断更新或添加 String[] splitUserId = userGroup.getUserId().split(","); String[] spiltUserName = userGroup.get...
2024-01-10MyBatis-plus 模糊查询的使用
在使用MyBatis-plus的时候,一些基础的增删改查可以不用再自己写sql了:public interface UserDao extends BaseMapper<FykUser>{}就这样,就可以实现user表的增删改查了。模糊查询使用userDao.selectList(queryWrapper)方法,就可以查询出一个用户列表。如果需要模糊查询,代码如下://条件封装QueryWrapper<FykUser> query...
2024-01-10用mybatis插件抓取最终sql
然后手工一个一个的替换问号占位符后,去MySQL 执行,看sql有木有什么问题。如果sql简单,那比较好说, 如果是个复杂sql,手动替换N个问号占位符,这种痛相信大家都经历过。 今天介绍的 MybatisFinalSqlPlugin 插件 正是解决了这样的痛点,可以直接抓到最终sql。环境mybatis 3.4.2实现思路最近在走读mybat...
2024-01-10mybatis获取执行的sql语句
package com.jcl.orm.tkmapper.intercept;import com.alibaba.dubbo.common.utils.CollectionUtils;import org.apache.ibatis.executor.Executor;import org.apache.ibatis.mapping.BoundSql;import org.apache.ibatis.mapping.MappedStatement;import org.apache.ibatis.mapp...
2024-01-10mybatis Plus 多表联合查询的实现示例
本文主要介绍了mybatis Plus 多表联合查询,分享给大家,具体如下://实体类package com.sk.skkill.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import java.io.Serializable;import java.util.Date;import j...
2024-01-10使用mybatis动态加载外部sql
思路怎么解决? 说说我和小伙伴D的思路:回顾下需求场景, 提供无业务逻辑, 只返回sql查询结果的接口. 也就是说, 如果有这样一个接口, 可以每次执行我写的sql, 那问题就解决了, 所以我们的目标就是: 把sql写到一个地方(DB), 然后接口获取sql, 并执行返回执行结果.实现我和D开始觉得并不难, 将sql存到DB, ...
2024-01-10mybatis plus使用redis作为二级缓存的方法
建议缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现。为了方便,这里我们将缓存放到mapper层。mybatis-plus整合redis作为二级缓存与mybatis整合redis略有不同。1. mybatis-plus开启二级缓存mybatis-plus.configuration.cache-enabled=true2. 定义RedisTemplate的bean交给spring管理,这里...
2024-01-10MyBatis-Plus 查询返回实体对象还是map
在常见场景下:返回数据建议使用map,不建议使用实体对象 /** * 1. 名字包含雨并且年龄小于40 * sql:name like '%雨%' and age < 40 * <p> * 应用场景: * 当表字段非常多,但是你只需要查询少数几列, * 没必要返回的泛型为实体的list,如果返回的泛型为实体,绝大多字段都是null,这样做不优雅 * ...
2024-01-10基于Mybatis plus 自动代码生成器的实现代码
1.使用的是maven项目,添加依赖<!-- mybatis-plus begin --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>2.2.0</version> </dependency> 还有数据库的连接<dependency> <groupId>mysql</groupId> <artifactId>m...
2024-01-10mybatis-plus怎么选择oracle的表空间?
大家好,本人小白,第一次使用oracle,我使用mybatis-plus操作oracle(yml中配置的账户可以查看多个表空间)的时候遇到如下两个问题:一、执行查询的时候提示没有指定表,打印sql语句类似如下:select id from aaa , 但是正确的应该是select id from "ttt"."aaa" ,我想知道,mybatis-plus 在哪里配置可以查询指定的表空间ttt。二...
2024-03-07mybatis+mysql环境下uuid存储优化
1问题uuid采用char(32)或char(36)存储的话,需要占用32或36个字节。为节省存储空间,改为binary(16),占用16字节。对于500W行的表,可节省7.4G的空间。mybatis中没有默认的type handler来完成uuid类型<->binary类型的相互转换,需要自定义一个type handler。下面就详细地介绍如何实现。2 环境mybatis 3.5.3mysql 5.7.21java 8...
2024-01-10Mybatis-Plus 通用CRUD的详细操作
目录1、插入操作 1.1 方法定义1.2 测试用例1.3 测试1.4 @TableField2、更新操作2.1 根据id更新2.2 根据条件更新3、删除操作3.1 deleteById3.2 deleteByMap3.3 delete3.4 deleteBatchIds4、查询操作4.1 selectById4.2 selectBatchIds4.3 selectOne4.4 selectCount4.5 selectList4.6 selectPage5 SQL注入的原理通过前面的学习,我们了解到通过继承...
2024-01-10MyBatis Plus 入门使用详细教程
一、MyBatis Plus 介绍MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis Plus 的核心功能有:支持通用的 CRUD、代码生成器与条件构造器。通用 CRUD:定义好 Mapper 接口后,只需要继承 BaseMapper<T> 接口即可获得通用的增删改查功能,无需...
2024-01-10mybatis-plus 通用字段自动化(如逻辑删除和更新时间等)
一般来说某些项目比较规范的情况下,大多数表都会有逻辑删除字段和通用字段,例如更新时间,创建时间,更新人,创建人等等,但是在代码开发上会产生很多冗余的代码,逻辑删除的话,自己写比较繁琐,而且容易有遗漏逻辑。本来打算自己写切面去实现,偶然发现mybatis-plus已经帮封装实现了,...
2024-01-10基于Mybatis-Plus的CRUD的实现
使用mybatis-plus自动生成了5个模块(xml/bean/mapper/service/controller)的代码,这里练习一下mybatis-plus框架下的CRUD.还是原先的那个springboot项目.mybatis-plus也是mybatis的增强版,它并未改变mybatis原有功能,只是在传统mybatis原有基础上又新增了一些功能,用以提高开发效率.比如,在mybatis-plus框架下,项目mapper层接口可通过...
2024-01-10MyBatis Plus工具快速入门使用教程
MyBatis-plus有什么特色 1.代码生成 2.条件构造器 对我而言,主要的目的是使用它强大的条件构建器. 快速使用步骤: 1.添加pom文件依赖<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version></dependency><dependency> <groupId>com.baomidou</groupId> <a...
2024-01-10基于Mybatis Plus实现多表分页查询的示例代码
注意:Mybatis Plus 3.0.7 版本才开始用【自定义sql】+【QueryWrapper】,低版本不能使用,还是老实写SQL进行条件拼接1、源码分析在Wrapper<T>接口中就有如下方法/** * 获取自定义SQL 简化自定义XML复杂情况 * 使用方法:自定义sql + ${ew.customSqlSegment} * 1.逻辑删除需要自己拼接条件 (之前自定义也同样) * 2.不...
2024-01-10mybatis mapper.xml 区间查询条件详解
目录mybatis mapper.xml 区间查询条件对 null 和 ” 分开进行判断tk mybatis通用mapper,复杂and or条件查询方式1:Weekend语法方式2:通用example语法mybatis mapper.xml 区间查询条件对 null 和 ” 分开进行判断<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.test.entity.TestQuery">SELECT * ...
2024-01-10